/*
 * Copyright (c) 2017. 深圳掌控网络有限公司. All rights reserved.
 */

package com.yiqi.lottery.feature.find.contract;

import com.suozhang.framework.entity.bo.PageData;
import com.suozhang.framework.entity.bo.UserInfoBo;
import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.lottery.entity.bo.BaseBo;
import com.yiqi.lottery.entity.bo.CircleBo;
import com.yiqi.lottery.entity.bo.FoucsBo;
import com.yiqi.lottery.entity.bo.RegisterBo;

import io.reactivex.Observable;
import retrofit2.http.Query;

/**
 * LIJUWEN
 *
 * @email yiyayiyayaoljw@gmail.com
 * @date 2017/4/11 9:06
 */
public interface CircleContract {

    interface Model {
        Observable<PageData<CircleBo>> getCircleList(int page, int post_type, int type);

        Observable<PageData<CircleBo>> getMyCircleList(int page);

        Observable<FoucsBo> getFoucedDetail(String id);

        Observable<String> dianZan(BaseBo baseBo);

        Observable<String> cancleDianzan(Integer id);

        Observable<String> getJiaodian();

        Observable<String> getZhongJiang();
    }

    interface View extends BaseView {
        void showCircleListSuccess(PageData<CircleBo> circleBoPageData);

        void showCircleListMoreSuccess(PageData<CircleBo> circleBoPageData);

        void showCircleMoreErrorMsg(String msg);

        void showDetailSuccess(FoucsBo foucsBo);

        void showCircleListError(String error);

        void showCircleListEmpty();

        void showDaiaZanSuccess(String msg);

        void showDaiaZanError(String msg);
    }


    interface Presenter extends BasePresenter {
        void doGetCircleList(int page, int post_type, int type);

        void doGetCircleMoreList(int page, int post_type, int type);

        void getFoucedDetail(String id);

        void dianZan(Integer id);

        void cancleDianzan(Integer id);

        void getMyCircleList(int page);

        void getMyCircleMoreList(int page);

        void getJiaodian();

        void getZhongJiang();
    }
}
